The Semantics of Transactions and Weak Memory in x86, Power, ARMv8, and C++

نویسندگان

  • Nathan Chong
  • Tyler Sorensen
  • John Wickerson
چکیده

Weak memory models trade programmability for performance, while transactional memory (TM) aims for ease of programming, sometimes at a performance cost. The semantics of both have been studied in detail, but their combined semantics is not well understood. This is problematic because TM is currently available, either natively or via extensions, in widely-used architectures and languages such as x86, Power, and C++, all of which have weak memory models. Our work aims to provide an formal understanding of the interplay between weak memory and TM, without which, programmers cannot robustly reason about programs that use both of these important concurrent programming constructs. Our first research contribution is the definition of axiomatic models that capture the combination of TM and weak memory as it exists in x86, Power, and C++, and one way that the ARMv8 memory model could be extended to support TM. Our second contribution is the systematic methodology we use to validate our models. This methodology is based around a new tool that is able to synthesise – automatically and exhaustively – exactly the minimal test programs that distinguish any two axiomatic models. This enables us to validate our models by comparing them against both an upper-bound model (transactional sequential consistency) and a lower-bound model (the non-transactional version of each model), and then checking that the outcomes of all the generated programs on existing hardware (where available) are consistent with our models. We further validate our models by checking compilation schemes from C++ transactions to hardware transactions.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Promising Compilation to ARMv8 POP

We prove the correctness of compilation of relaxed memory accesses and release-acquire fences from the “promising” semantics of Kang et al. [12] to the ARMv8 POP machine of Flur et al. [9]. The proof is highly non-trivial because both the ARMv8 POP and the promising semantics provide some extremely weak consistency guarantees for normal memory accesses; however, they do so in rather different w...

متن کامل

Porting Hyperkernel to the ARM Architecture

This work describes the porting of Hyperkernel, an x86 kernel, to the ARMv8-A architecture. Hyperkernel was created to demonstrate various OS design decisions that are amenable to push-button verification. Hyperkernel simplifies reasoning about virtual memory by separating the kernel and user address spaces. In addition, Hyperkernel adopts an exokernel design to minimize code complexity, and th...

متن کامل

Propranolol–induced Impairment of Contextual Fear Memory Reconsolidation in Rats: A Similar Effect on Weak and Strong Recent and Remote Memories

Introduction: Previous studies have demonstrated that the &beta-adrenergic receptor antagonist propranolol impairs fear memory reconsolidation in experimental animals. There are experimental parameters such as the age and the strength of memory that can interact with pharmacological manipulations of memory reconsolidation. In this study, we investigated the ability of the age and the strength o...

متن کامل

Application of Pattern Recognition Algorithms for Clustering Power System to Voltage Control Areas and Comparison of Their Results

Finding the collapse susceptible portion of a power system is one of the purposes of voltage stability analysis. This part which is a voltage control area is called the voltage weak area. Determining the weak area and adjecent voltage control areas has special importance in the improvement of voltage stability. Designing an on-line corrective control requires the voltage weak area to be determi...

متن کامل

Application of Pattern Recognition Algorithms for Clustering Power System to Voltage Control Areas and Comparison of Their Results

Finding the collapse susceptible portion of a power system is one of the purposes of voltage stability analysis. This part which is a voltage control area is called the voltage weak area. Determining the weak area and adjecent voltage control areas has special importance in the improvement of voltage stability. Designing an on-line corrective control requires the voltage weak area to be determi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1710.04839  شماره 

صفحات  -

تاریخ انتشار 2017